Numerous software applications are used to visually represent data obtained from local or remote sources. For example, word processors, publishing tools, and web browsers may include layout management components that aid in rendering views of data such as text and pictures in a document. A web browser may, for example, provide an inline view where the text and pictures set forth in HTML or other data are rendered in the order in which they are specified in the HTML (or other data). As another example, data may include markup notations to identify different parts of a document and specify guidelines for positioning those parts.
In contrast to traditional publishing, where the available area for displaying content is known, publishers of electronic content may not always know the size of the area in which content will be displayed. For example, a newspaper publisher may desire to place content online in a manner so that the content as displayed will approximate the signature layout characteristics of the physical newspaper. This goal may be frustrated by the fact that users can, for example, resize the window in a browser or other display tool. As another example, users may view online content using a variety of devices each having different display sizes and/or resolutions.
Some document display tools, such as certain web browsers and newspaper reader applications, rely on templates for controlling where elements are placed in different display scenarios (e.g., different templates for different devices or available display areas). However, templates may not always be an ideal solution. For example, each template must be designed for use in a particular scenario, which requires time and effort. Another possible issue with templates is that a template for a particular display scenario may not be available and so content may be displayed in a non-ideal manner using the “best available” template. For instance, a template may be specified for a given screen size, but if the user resizes the screen or window, the appearance of the content may be disrupted. Alternatively, the user could be “locked out” of certain actions or restricted to certain display characteristics, and this may create an undesirable user experience.